package chai.ningning.files;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

/**
 * 1、创建File实例所表示的路径对应的目录（空目录）
 *      public boolean mkdir()
 *      public boolean mkdirs()
 * 2、创建File实例所表示的路径对应的文件（空文件）
 *      public boolean createNewFile() throws IOException
 * 3、删除File实例所表示的路径对应的 目录（directory）或文件（file）
 *      public boolean delete()
 *      public void deleteOnExit()
 */
public class FileTest5 {

    public static void main(String[] args) throws IOException {

        final String pathname = "D:/test";
        final File parent = new File(pathname);
        if(!parent.exists()){
            parent.mkdir(); //在该位置创建该目录
        }
        Scanner s = new Scanner(System.in);

        System.out.println( "1:创建目录" );
        System.out.println( "2:创建文件" );
        System.out.println( "3:列出子项目" );
        System.out.println( "4:删除目录或文件" );
        System.out.println( "0:退出" );

        System.out.println( "请输入你要完成的操作序号:" );
        int op = s.nextInt();
        s.nextLine();
        //System.out.println(as);
        switch (op) {
            case 0:break;
            case 1:
                System.out.println("请输入目录名称");
                String dirName = s.nextLine();
                File dir = new File(parent,dirName);
                if(dir.exists()){
                    System.out.println("目录已存在，创建失败");
                    break;
                }
                dir.mkdirs();//创建新目录（mkdirs可以创建多个层次的目录）
                break;
            case 2:
                System.out.println( "请输入文件名称" );
                String filename = s.nextLine();
                File file = new File( parent , filename );
                if( file.exists() ) { // 如果已经存在
                    System.out.println( "文件已存在，创建失败" );
                    break ;
                }
                file.createNewFile() ; // 创建新的空白文件
                break;
            case 3:
                File[] fods = parent.listFiles();
                for (int i = 0; i < fods.length; i++) {
                    System.out.println(fods[i]);
                }
                break;
            case 4:
                System.out.println( "请输入需要删除的目录名称或文件名称" );
                String name = s.nextLine();
                File fod = new File( parent , name );
                if( fod.exists() ) {
                    fod.delete(); // 直接删除 ( deleteOnExit表示JVM退出时才删除 )
                }
                break;
            default:
                System.out.println( "你输入的不正确" );;
        s.close();
        }
    }
}
